Koren stromu v tabulce se self-relaci (was: katalog CD-ROM)

Otázka od: Petr Fejfar

9. 12. 2003 18:35

From: "Jirka" <delphi-l@bedna.net>

> ja bych to udelal pres odkaz na parent.
> ID_FILE PARENT ADRESAR
> 1 1 T
> 2 1 T
> 3 1 F
> 4 2 F

Napadlo me, ze bych se mel zeptat zkusenejsich dataru, jak u stromove
struktury ulozene
do tabulky modeluji koren stromu

a) jestli odkazem na sebe sama u uzlu na nejvyssi urovni jako v uvedenem
prikladu
b) nebo jestli si pridaji fiktivni uzel, aby meli jeden spolecny koren
c) nejak jinak (a jak)

Thx, pf


Odpovedá: Ondrej Kelle

10. 12. 2003 9:48

> Napadlo me, ze bych se mel zeptat zkusenejsich dataru, jak u stromove
> struktury ulozene do tabulky modeluji koren stromu
>
> a) jestli odkazem na sebe sama u uzlu na nejvyssi urovni jako
> v uvedenem prikladu
> b) nebo jestli si pridaji fiktivni uzel, aby meli jeden spolecny koren
> c) nejak jinak (a jak)

Nepovazujem sa za velmi skuseneho datara. S navrhom stromovej struktury som
sa stretol zatial len v jednom projekte. Pouzil som b) s tym, ze root node
je vytvoreny skriptom pocas instalacie - generovania databazy a v triggeroch
mam osetrene, aby ho nebolo mozne zmazat/modifikovat.

Pri prvom pokuse o navrh tej databazy som skusil a), avsak ziskal som dojem,
ze toto vedie ku komplikovanejsiemu kodu v rekurzivnych stored procedurach,
ktory musi zabranit 'nekonecnej' rekurzii a naslednemu zhodeniu servera.
Skratka, u mna a) vyslo ako mozne, ale o nieco zlozitejsie riesenie, preto
som sa rozhodol pre b).

HTH
TOndrej